.wrap {
  margin-top: 2.5rem;
}

.comment-box-head {
  margin: 24px 0;
  display: flex;

  > *:not(:last-child) {
    margin-right: 12px;
  }
}

.comment {
  font-size: 14px;
}

@media (max-width: 700px) {
  .comment-box-head {
    display: block;

    > * {
      margin-bottom: 14px;
    }
  }
}

.empty {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  line-height: 2rem;
}

.guest-avatar {
  height: 39.6px;
  width: 39.8px;
  position: relative;
  border-radius: 50%;
  box-shadow: 4px 3px 20px -1px var(--gray);
  overflow: hidden;

  /* https://stackoverflow.com/questions/42297303/css-opacity-transition-ignoring-overflowhidden-in-chrome-safari */
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);

  .avatar {
    position: absolute;
    left: 0;
    top: 0;
    background-position: center;
    background-size: cover;
    height: 100%;
    width: 100%;
    transition: opacity 0.5s;
    opacity: 0;
  }
}

.comment {
  .inner {
    display: flex;
    padding: 16px 0;

    .comment-avatar {
      position: relative;
      flex-shrink: 0;
      margin-right: 12px;
    }

    .content {
      position: relative;
      flex: 1 1 auto;
      min-width: 1px;
      font-size: 14px;
      word-wrap: break-word;

      .content-author {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-bottom: 4px;
        font-size: 14px;

        @apply text-gray-1;

        > span {
          padding-right: 8px;
          font-size: 12px;
          line-height: 18px;
        }

        .name {
          color: var(--shizuku-text-color);
          transition: color 0.3s;

          > :hover {
            color: var(--shizuku-text-color);
          }

          > * {
            color: var(--shizuku-text-color);
          }
        }

        .datetime {
          @apply truncate;

          color: var(--shizuku-text-color);
          opacity: 0.8;
          white-space: nowrap;
          cursor: auto;
        }
      }

      .actions {
        margin-top: 12px;
        margin-bottom: inherit;
        padding-left: 0;
        margin-left: 0;

        > li {
          display: inline-block;
          color: var(--shizuku-text-color);
          opacity: 0.9;

          > span {
            margin-right: 10px;
            color: var(--shizuku-text-color);
            font-size: 12px;
            cursor: pointer;
            transition: color 0.3s;
            user-select: none;

            :hover {
              color: #595959;
            }
          }
        }
      }
    }
  }

  .nested {
    margin-left: 24px;

    .nested {
      margin-left: 0;
    }
  }

  @media (max-width: 650px) {
    .nested {
      margin-left: 12px;
    }
  }
}

.highlight {
  animation: highlight 1s ease;

  @apply rounded-sm animate-fill-both;
}

@keyframes highlight {
  from {
    background-color: transparent;
  }

  to {
    background-color: #d2edee66;
  }
}
